package com.love.marriage.carouselBannerInfo.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.love.marriage.common.vo.BaseVo;
import com.love.marriage.config.Long2StringSerializer;
import com.love.marriage.oss.vo.FileInfoVo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

/**
 * description:  展示轮播图表Vo
 * author:       mybatisPlus
 * createDate:   2024-10-20 10:10:51
 * version:      1.0.0
 */
@Getter
@Setter
@Accessors(chain = true)
@Schema(name = "CarouselBannerInfoVo", description = "展示轮播图表Vo")
public class CarouselBannerInfoVo extends BaseVo<CarouselBannerInfoVo>{

    @JsonSerialize(using = Long2StringSerializer.class)
    @Schema(description = "文件ID，关联存储的轮播图文件", type = "Long", implementation = Long.class)
    private Long fileId;

    @Schema(description = "轮播图标题", type = "String", implementation = String.class)
    private String title;

    @Schema(description = "轮播图描述", type = "String", implementation = String.class)
    private String description;

    @Schema(description = "跳转链接", type = "String", implementation = String.class)
    private String linkUrl;

    @Schema(description = "排序顺序", type = "Integer", implementation = Integer.class)
    private Integer sortOrder;

    @Schema(description = "状态: 0=禁用, 1=启用", type = "Boolean", implementation = Boolean.class)
    private Boolean status;

    @Schema(description = "文件信息", type = "FileInfoVo", implementation = FileInfoVo.class)
    private FileInfoVo fileInfoVo;
}
